package com.example.zjsr.dao.anchor;

import com.example.zjsr.domain.Admin.anchors.Anchors;
import com.example.zjsr.domain.Admin.anchors.Trait;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author lvyongwei
 */
@Mapper
public interface AnchorMapper {

    /**
     * 添加主播信息
     * @param anchors
     * @return
     */
    public boolean insertAnchors(@Param("list") List<Anchors> anchors);

    /**
     * 添加特点内容
     * @param trait
     * @return
     */
    public boolean insertTraits(Trait trait);

    /**
     * 查询该特点是否存在
     * @param trait
     * @return
     */
    public Trait selectByName(Trait trait);

    /**
     * 修改特点内容
     * @param trait
     * @return
     */
    public boolean updateTraits(Trait trait);

    /**
     * 删除特点
     * @param traitIds
     * @return
     */
    public boolean deleteTraits(@Param("list") List<Integer> traitIds);

    /**
     * 根据特点id删除中间表数据
     * @param traitId
     * @return
     */
    public boolean deleteAnchorsTrait(Integer traitId);

    /**
     * 添加中间表数据
     * @param anchorId
     * @param traitIds
     * @return
     */
    public boolean insertAnchorsTrait(@Param("anchorId") Integer anchorId,@Param("list") List<Integer> traitIds);

    /**
     * 根据主播id删除中间表数据
     * @param anchorId
     * @return
     */
    public boolean deleteAnchorsTrait2(Integer anchorId);

    /**
     * 查询所有主播信息
     * @return
     */
    public List<Anchors> selectKnowledge();

    /**
     * 根据主播id查询所有特点
     * @param anchorId
     * @return
     */
    public List<Trait> selectTraits(Integer anchorId);

    /**
     * 删除所有主播信息
     * @return
     */
    public boolean deleteAnchors();

    /**
     * 删除所有中间表内容
     * @return
     */
    public boolean deleteAnchorsTraits();

    /**
     * 查询所有特点信息
     * @return
     */
    public List<Trait> selectAllTraits();
}
